Rank

获取输入张量的秩(维数),并将该值写入输出地址。

输入:
  • output - 输出数据的地址,用于存储秩的结果。

  • n - 输入张量的秩(维数)。

  • core_mask - 核掩码(仅适用于共享存储版本)。

输出:
  • output - 存储秩数值的地址。

支持平台:

FT78NE MT7004

备注

  • 由于该算子对于不同数据类型的具体实现一致,因此统一使用 rank_srank_p 命名,不再区分数据类型前缀(如 fp_, i8_ 等)。

  • 支持的数据类型包括:int8, int16, int32, fp32, fp64, cplx64, cplx128。

共享存储版本:

void rank_s(int *output, int n, int core_mask)

C调用示例:

 1#include <stdio.h>
 2
 3int main(int argc, char* argv[]) {
 4    int n = 4; // 假设张量的秩为4
 5    int *output = (int *)0xA0000000;
 6    int core_mask = 0xff;
 7
 8    rank_s(output, n, core_mask);
 9
10    return 0;
11}

私有存储版本:

void rank_p(int *output, int n)

C调用示例:

 1#include <stdio.h>
 2
 3int main(int argc, char* argv[]) {
 4    int n = 3; // 假设张量的秩为3
 5    int *output = (int *)0x10810000;
 6
 7    rank_p(output, n);
 8
 9    return 0;
10}